#pragma once

#include <cstdint>
#include <map>
#include <functional>
#include "Singleton.h"



class MinuteListen
{
public:
    MinuteListen();
    virtual ~MinuteListen();
public:
    static MinuteListen* Instance()
	{
		return CSingleton<MinuteListen>::Instance();
	}

public:
    void OnTick();

public:
    void Register(const char* tag, std::function<void(std::int64_t tick)> on_tick);

private:
    std::int64_t m_tick;
    std::map<const char*, std::function<void(std::int64_t tick)>> m_on_tick;
};







